import { defineStore } from 'pinia'

// 定义并暴露一个store
export const useUserStore = defineStore('user', {
	state: () => {
		return {
			userInfo: null,
			token: null,
            kk:null
		}
	},

	actions: {
		async login() {
			try {
				// 模拟 API 调用

				// 确保状态更新是响应式的
				this.$patch({
					token: '111asdsdff',
				})

				// 强制同步更新存储
				await this.$persist()
			} catch (error) {
				console.error('持久化失败:', error)
			}
		},isLogin(){
			return token;
		}, async loginout(){
			this.$patch({
				token: null,
			})
			
			// 强制同步更新存储
			await this.$persist()
		}
	},
	persist: {
		key: 'auth-storage', // 确保唯一性
		// storage: 'localStorage',
		storage: {
		  getItem(key) {
		    return uni.getStorageSync(key)
		  },
		  setItem(key, value) {
		    uni.setStorageSync(key, value)
		  },
		},
		paths: ['token'], // 明确持久化字段
		// 可选加密配置
		// serializer: {
		//   serialize: (value) => CryptoJS.AES.encrypt(JSON.stringify(value), 'secret').toString(),
		//   deserialize: (value) => JSON.parse(CryptoJS.AES.decrypt(value, 'secret').toString(CryptoJS.enc.Utf8))
		// }
	}
})